package pe.com.drokasa.android.client.adapter;

import java.util.List;

import pe.com.drokasa.android.client.R;
import pe.com.drokasa.android.client.model.Producto;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

/**
 * Adapator de Spinner personalizado que permite mostrar los productos
 * con los datos necesarios en la forma customizada.
 * 
 * @author Synopsis S.A
 *
 */
public class ProductosAdapter extends BaseAdapter 
{
	private Activity activity;
	private List<Producto> productos;
	private static LayoutInflater inflater=null;
	
	/**
	 * @param activity
	 * @param productos
	 */
	public ProductosAdapter(Activity activity, List<Producto> productos)
	{
		this.activity = activity;
		this.productos = productos;
		inflater = (LayoutInflater) this.activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
	}
	
	/**
	 * @see android.widget.Adapter#getCount()
	 */
	@Override
	public int getCount() 
	{
		return productos.size();
	}

	/**
	 * @see android.widget.Adapter#getItem(int)
	 */
	@Override
	public Object getItem(int position) 
	{
		return productos.get(position);
	}

	/**
	 * @see android.widget.Adapter#getItemId(int)
	 */
	@Override
	public long getItemId(int position) 
	{
		return position;
	}

	/**
	 * @see android.widget.Adapter#getView(int, android.view.View, android.view.ViewGroup)
	 */
	@Override
	public View getView(int position, View convertView, ViewGroup parent) 
	{
        View view = convertView;
        if(convertView == null)
        {
        	view = inflater.inflate(R.layout.custom_list_item_producto, null);
        }
        
        TextView nombreProducto = (TextView) view.findViewById(R.id.resultado_nombre_producto);
        TextView codigoProducto = (TextView) view.findViewById(R.id.resultado_codigo_producto);
        
        Producto producto = productos.get(position);
        
        nombreProducto.setText(producto.getNombre());
        codigoProducto.setText(producto.getCodigo());
        
		return view;
	}
}